/*
 * FancyBox - jQuery Plugin
 * Simple and fancy lightbox alternative
 *
 * Examples and documentation at: http://fancybox.net
 *
 * Copyright (c) 2008 - 2010 Janis Skarnelis
 *
 * Version: 1.3.1 (05/03/2010)
 * Requires: jQuery v1.3+
 *
 * Dual licensed under the MIT and GPL licenses:
 *   http://www.opensource.org/licenses/mit-license.php
 *   http://www.gnu.org/licenses/gpl.html
 */

(function(b) {
	var m, u, x, g, D, i, z, A, B, p = 0,
		e = {},
		q = [],
		n = 0,
		c = {},
		j = [],
		E = null,
		s = new Image,
		G = /\.(jpg|gif|png|bmp|jpeg)(.*)?$/i,
		S = /[^\.]\.(swf)\s*$/i,
		H, I = 1,
		k, l, h = false,
		y = b.extend(b("<div/>")[0], {
			prop: 0
		}),
		v = 0,
		O = !b.support.opacity && !window.XMLHttpRequest,
		J = function() {
			u.hide();
			s.onerror = s.onload = null;
			E && E.abort();
			m.empty()
		},
		P = function() {
			b.fancybox('<p id="fancybox_error">The requested content cannot be loaded.<br />Please try again later.</p>', {
				scrolling: "no",
				padding: 20,
				transitionIn: "none",
				transitionOut: "none"
			})
		},
		K = function() {
			return [b(window).width(), b(window).height(), b(document).scrollLeft(), b(document).scrollTop()]
		},
		T = function() {
			var a = K(),
				d = {},
				f = c.margin,
				o = c.autoScale,
				t = (20 + f) * 2,
				w = (20 + f) * 2,
				r = c.padding * 2;
			if (c.width.toString().indexOf("%") > -1) {
				d.width = a[0] * parseFloat(c.width) / 100 - 40;
				o = false
			} else d.width = c.width + r;
			if (c.height.toString().indexOf("%") > -1) {
				d.height = a[1] * parseFloat(c.height) / 100 - 40;
				o = false
			} else d.height = c.height + r;
			if (o && (d.width > a[0] - t || d.height > a[1] - w)) if (e.type == "image" || e.type == "swf") {
				t += r;
				w += r;
				o = Math.min(Math.min(a[0] - t, c.width) / c.width, Math.min(a[1] - w, c.height) / c.height);
				d.width = Math.round(o * (d.width - r)) + r;
				d.height = Math.round(o * (d.height - r)) + r
			} else {
				d.width = Math.min(d.width, a[0] - t);
				d.height = Math.min(d.height, a[1] - w)
			}
			d.top = a[3] + (a[1] - (d.height + 40)) * 0.5;
			d.left = a[2] + (a[0] - (d.width + 40)) * 0.5;
			if (c.autoScale === false) {
				d.top = Math.max(a[3] + f, d.top);
				d.left = Math.max(a[2] + f, d.left)
			}
			return d
		},
		U = function(a) {
			if (a && a.length) switch (c.titlePosition) {
			case "inside":
				return a;
			case "over":
				return '<span id="fancybox-title-over">' + a + "</span>";
			default:
				return '<span id="fancybox-title-wrap"><span id="fancybox-title-left"></span><span id="fancybox-title-main">' + a + '</span><span id="fancybox-title-right"></span></span>'
			}
			return false
		},
		V = function() {
			var a = c.title,
				d = l.width - c.padding * 2,
				f = "fancybox-title-" + c.titlePosition;
			b("#fancybox-title").remove();
			v = 0;
			if (c.titleShow !== false) {
				a = b.isFunction(c.titleFormat) ? c.titleFormat(a, j, n, c) : U(a);
				if (!(!a || a === "")) {
					b('<div id="fancybox-title" class="' + f + '" />').css({
						width: d,
						paddingLeft: c.padding,
						paddingRight: c.padding
					}).html(a).appendTo("body");
					switch (c.titlePosition) {
					case "inside":
						v = b("#fancybox-title").outerHeight(true) - c.padding;
						l.height += v;
						break;
					case "over":
						b("#fancybox-title").css("bottom", c.padding);
						break;
					default:
						b("#fancybox-title").css("bottom", b("#fancybox-title").outerHeight(true) * -1);
						break
					}
					b("#fancybox-title").appendTo(D).hide()
				}
			}
		},
		W = function() {
			b(document).unbind("keydown.fb").bind("keydown.fb", function(a) {
				if (a.keyCode == 27 && c.enableEscapeButton) {
					a.preventDefault();
					b.fancybox.close()
				} else if (a.keyCode == 37) {
					a.preventDefault();
					b.fancybox.prev()
				} else if (a.keyCode == 39) {
					a.preventDefault();
					b.fancybox.next()
				}
			});
			if (b.fn.mousewheel) {
				g.unbind("mousewheel.fb");
				j.length > 1 && g.bind("mousewheel.fb", function(a, d) {
					a.preventDefault();
					h || d === 0 || (d > 0 ? b.fancybox.prev() : b.fancybox.next())
				})
			}
			if (c.showNavArrows) {
				if (c.cyclic && j.length > 1 || n !== 0) A.show();
				if (c.cyclic && j.length > 1 || n != j.length - 1) B.show()
			}
		},
		X = function() {
			var a, d;
			if (j.length - 1 > n) {
				a = j[n + 1].href;
				if (typeof a !== "undefined" && a.match(G)) {
					d = new Image;
					d.src = a
				}
			}
			if (n > 0) {
				a = j[n - 1].href;
				if (typeof a !== "undefined" && a.match(G)) {
					d = new Image;
					d.src = a
				}
			}
		},
		L = function() {
			i.css("overflow", c.scrolling == "auto" ? c.type == "image" || c.type == "iframe" || c.type == "swf" ? "hidden" : "auto" : c.scrolling == "yes" ? "auto" : "visible");
			if (!b.support.opacity) {
				i.get(0).style.removeAttribute("filter");
				g.get(0).style.removeAttribute("filter")
			}
			b("#fancybox-title").show();
			c.hideOnContentClick && i.one("click", b.fancybox.close);
			c.hideOnOverlayClick && x.one("click", b.fancybox.close);
			c.showCloseButton && z.show();
			W();
			b(window).bind("resize.fb", b.fancybox.center);
			c.centerOnScroll ? b(window).bind("scroll.fb", b.fancybox.center) : b(window).unbind("scroll.fb");
			b.isFunction(c.onComplete) && c.onComplete(j, n, c);
			h = false;
			X()
		},
		M = function(a) {
			var d = Math.round(k.width + (l.width - k.width) * a),
				f = Math.round(k.height + (l.height - k.height) * a),
				o = Math.round(k.top + (l.top - k.top) * a),
				t = Math.round(k.left + (l.left - k.left) * a);
			g.css({
				width: d + "px",
				height: f + "px",
				top: o + "px",
				left: t + "px"
			});
			d = Math.max(d - c.padding * 2, 0);
			f = Math.max(f - (c.padding * 2 + v * a), 0);
			i.css({
				width: d + "px",
				height: f + "px"
			});
			if (typeof l.opacity !== "undefined") g.css("opacity", a < 0.5 ? 0.5 : a)
		},
		Y = function(a) {
			var d = a.offset();
			d.top += parseFloat(a.css("paddingTop")) || 0;
			d.left += parseFloat(a.css("paddingLeft")) || 0;
			d.top += parseFloat(a.css("border-top-width")) || 0;
			d.left += parseFloat(a.css("border-left-width")) || 0;
			d.width = a.width();
			d.height = a.height();
			return d
		},
		Q = function() {
			var a = e.orig ? b(e.orig) : false,
				d = {};
			if (a && a.length) {
				a = Y(a);
				d = {
					width: a.width + c.padding * 2,
					height: a.height + c.padding * 2,
					top: a.top - c.padding - 20,
					left: a.left - c.padding - 20
				}
			} else {
				a = K();
				d = {
					width: 1,
					height: 1,
					top: a[3] + a[1] * 0.5,
					left: a[2] + a[0] * 0.5
				}
			}
			return d
		},
		N = function() {
			u.hide();
			if (g.is(":visible") && b.isFunction(c.onCleanup)) if (c.onCleanup(j, n, c) === false) {
				b.event.trigger("fancybox-cancel");
				h = false;
				return
			}
			j = q;
			n = p;
			c = e;
			i.get(0).scrollTop = 0;
			i.get(0).scrollLeft = 0;
			if (c.overlayShow) {
				O && b("select:not(#fancybox-tmp select)").filter(function() {
					return this.style.visibility !== "hidden"
				}).css({
					visibility: "hidden"
				}).one("fancybox-cleanup", function() {
					this.style.visibility = "inherit"
				});
				x.css({
					"background-color": c.overlayColor,
					opacity: c.overlayOpacity
				}).unbind().show()
			}
			l = T();
			V();
			if (g.is(":visible")) {
				b(z.add(A).add(B)).hide();
				var a = g.position(),
					d;
				k = {
					top: a.top,
					left: a.left,
					width: g.width(),
					height: g.height()
				};
				d = k.width == l.width && k.height == l.height;
				i.fadeOut(c.changeFade, function() {
					var f = function() {
							i.html(m.contents()).fadeIn(c.changeFade, L)
						};
					b.event.trigger("fancybox-change");
					i.empty().css("overflow", "hidden");
					if (d) {
						i.css({
							top: c.padding,
							left: c.padding,
							width: Math.max(l.width - c.padding * 2, 1),
							height: Math.max(l.height - c.padding * 2 - v, 1)
						});
						f()
					} else {
						i.css({
							top: c.padding,
							left: c.padding,
							width: Math.max(k.width - c.padding * 2, 1),
							height: Math.max(k.height - c.padding * 2, 1)
						});
						y.prop = 0;
						b(y).animate({
							prop: 1
						}, {
							duration: c.changeSpeed,
							easing: c.easingChange,
							step: M,
							complete: f
						})
					}
				})
			} else {
				g.css("opacity", 1);
				if (c.transitionIn == "elastic") {
					k = Q();
					i.css({
						top: c.padding,
						left: c.padding,
						width: Math.max(k.width - c.padding * 2, 1),
						height: Math.max(k.height - c.padding * 2, 1)
					}).html(m.contents());
					g.css(k).show();
					if (c.opacity) l.opacity = 0;
					y.prop = 0;
					b(y).animate({
						prop: 1
					}, {
						duration: c.speedIn,
						easing: c.easingIn,
						step: M,
						complete: L
					})
				} else {
					i.css({
						top: c.padding,
						left: c.padding,
						width: Math.max(l.width - c.padding * 2, 1),
						height: Math.max(l.height - c.padding * 2 - v, 1)
					}).html(m.contents());
					g.css(l).fadeIn(c.transitionIn == "none" ? 0 : c.speedIn, L)
				}
			}
		},
		F = function() {
			m.width(e.width);
			m.height(e.height);
			if (e.width == "auto") e.width = m.width();
			if (e.height == "auto") e.height = m.height();
			N()
		},
		Z = function() {
			h = true;
			e.width = s.width;
			e.height = s.height;
			b("<img />").attr({
				id: "fancybox-img",
				src: s.src,
				alt: e.title
			}).appendTo(m);
			N()
		},
		C = function() {
			J();
			var a = q[p],
				d, f, o, t, w;
			e = b.extend({}, b.fn.fancybox.defaults, typeof b(a).data("fancybox") == "undefined" ? e : b(a).data("fancybox"));
			o = a.title || b(a).title || e.title || "";
			if (a.nodeName && !e.orig) e.orig = b(a).children("img:first").length ? b(a).children("img:first") : b(a);
			if (o === "" && e.orig) o = e.orig.attr("alt");
			d = a.nodeName && /^(?:javascript|#)/i.test(a.href) ? e.href || null : e.href || a.href || null;
			if (e.type) {
				f = e.type;
				if (!d) d = e.content
			} else if (e.content) f = "html";
			else if (d) if (d.match(G)) f = "image";
			else if (d.match(S)) f = "swf";
			else if (b(a).hasClass("iframe")) f = "iframe";
			else if (d.match(/#/)) {
				a = d.substr(d.indexOf("#"));
				f = b(a).length > 0 ? "inline" : "ajax"
			} else f = "ajax";
			else f = "inline";
			e.type = f;
			e.href = d;
			e.title = o;
			if (e.autoDimensions && e.type !== "iframe" && e.type !== "swf") {
				e.width = "auto";
				e.height = "auto"
			}
			if (e.modal) {
				e.overlayShow = true;
				e.hideOnOverlayClick = false;
				e.hideOnContentClick = false;
				e.enableEscapeButton = false;
				e.showCloseButton = false
			}
			if (b.isFunction(e.onStart)) if (e.onStart(q, p, e) === false) {
				h = false;
				return
			}
			m.css("padding", 20 + e.padding + e.margin);
			b(".fancybox-inline-tmp").unbind("fancybox-cancel").bind("fancybox-change", function() {
				b(this).replaceWith(i.children())
			});
			switch (f) {
			case "html":
				m.html(e.content);
				F();
				break;
			case "inline":
				b('<div class="fancybox-inline-tmp" />').hide().insertBefore(b(a)).bind("fancybox-cleanup", function() {
					b(this).replaceWith(i.children())
				}).bind("fancybox-cancel", function() {
					b(this).replaceWith(m.children())
				});
				b(a).appendTo(m);
				F();
				break;
			case "image":
				h = false;
				b.fancybox.showActivity();
				s = new Image;
				s.onerror = function() {
					P()
				};
				s.onload = function() {
					s.onerror = null;
					s.onload = null;
					Z()
				};
				s.src = d;
				break;
			case "swf":
				t = '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="' + e.width + '" height="' + e.height + '"><param name="movie" value="' + d + '"></param>';
				w = "";
				b.each(e.swf, function(r, R) {
					t += '<param name="' + r + '" value="' + R + '"></param>';
					w += " " + r + '="' + R + '"'
				});
				t += '<embed src="' + d + '" type="application/x-shockwave-flash" width="' + e.width + '" height="' + e.height + '"' + w + "></embed></object>";
				m.html(t);
				F();
				break;
			case "ajax":
				a = d.split("#", 2);
				f = e.ajax.data || {};
				if (a.length > 1) {
					d = a[0];
					if (typeof f == "string") f += "&selector=" + a[1];
					else f.selector = a[1]
				}
				h = false;
				b.fancybox.showActivity();
				E = b.ajax(b.extend(e.ajax, {
					url: d,
					data: f,
					error: P,
					success: function(r) {
						if (E.status == 200) {
							m.html(r);
							F()
						}
					}
				}));
				break;
			case "iframe":
				b('<iframe id="fancybox-frame" name="fancybox-frame' + (new Date).getTime() + '" frameborder="0" hspace="0" scrolling="' + e.scrolling + '" src="' + e.href + '"></iframe>').appendTo(m);
				N();
				break
			}
		},
		$ = function() {
			if (u.is(":visible")) {
				b("div", u).css("top", I * -40 + "px");
				I = (I + 1) % 12
			} else clearInterval(H)
		},
		aa = function() {
			if (!b("#fancybox-wrap").length) {
				b("body").append(m = b('<div id="fancybox-tmp"></div>'), u = b('<div id="fancybox-loading"><div></div></div>'), x = b('<div id="fancybox-overlay"></div>'), g = b('<div id="fancybox-wrap"></div>'));
				if (!b.support.opacity) {
					g.addClass("fancybox-ie");
					u.addClass("fancybox-ie")
				}
				D = b('<div id="fancybox-outer"></div>').append('<div class="fancy-bg" id="fancy-bg-n"></div><div class="fancy-bg" id="fancy-bg-ne"></div><div class="fancy-bg" id="fancy-bg-e"></div><div class="fancy-bg" id="fancy-bg-se"></div><div class="fancy-bg" id="fancy-bg-s"></div><div class="fancy-bg" id="fancy-bg-sw"></div><div class="fancy-bg" id="fancy-bg-w"></div><div class="fancy-bg" id="fancy-bg-nw"></div>').appendTo(g);
				D.append(i = b('<div id="fancybox-inner"></div>'), z = b('<a id="fancybox-close"></a>'), A = b('<a href="javascript:;" id="fancybox-left"><span class="fancy-ico" id="fancybox-left-ico"></span></a>'), B = b('<a href="javascript:;" id="fancybox-right"><span class="fancy-ico" id="fancybox-right-ico"></span></a>'));
				z.click(b.fancybox.close);
				u.click(b.fancybox.cancel);
				A.click(function(a) {
					a.preventDefault();
					b.fancybox.prev()
				});
				B.click(function(a) {
					a.preventDefault();
					b.fancybox.next()
				});
				if (O) {
					x.get(0).style.setExpression("height", "document.body.scrollHeight > document.body.offsetHeight ? document.body.scrollHeight : document.body.offsetHeight + 'px'");
					u.get(0).style.setExpression("top", "(-20 + (document.documentElement.clientHeight ? document.documentElement.clientHeight/2 : document.body.clientHeight/2 ) + ( ignoreMe = document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop )) + 'px'");
					D.prepend('<iframe id="fancybox-hide-sel-frame" src="javascript:\'\';" scrolling="no" frameborder="0" ></iframe>')
				}
			}
		};
	b.fn.fancybox = function(a) {
		b(this).data("fancybox", b.extend({}, a, b.metadata ? b(this).metadata() : {})).unbind("click.fb").bind("click.fb", function(d) {
			d.preventDefault();
			if (!h) {
				h = true;
				b(this).blur();
				q = [];
				p = 0;
				d = b(this).attr("rel") || "";
				if (!d || d == "" || d === "nofollow") q.push(this);
				else {
					q = b("a[rel=" + d + "], area[rel=" + d + "]");
					p = q.index(this)
				}
				C();
				return false
			}
		});
		return this
	};
	b.fancybox = function(a, d) {
		if (!h) {
			h = true;
			d = typeof d !== "undefined" ? d : {};
			q = [];
			p = d.index || 0;
			if (b.isArray(a)) {
				for (var f = 0, o = a.length; f < o; f++) if (typeof a[f] == "object") b(a[f]).data("fancybox", b.extend({}, d, a[f]));
				else a[f] = b({}).data("fancybox", b.extend({
					content: a[f]
				}, d));
				q = jQuery.merge(q, a)
			} else {
				if (typeof a == "object") b(a).data("fancybox", b.extend({}, d, a));
				else a = b({}).data("fancybox", b.extend({
					content: a
				}, d));
				q.push(a)
			}
			if (p > q.length || p < 0) p = 0;
			C()
		}
	};
	b.fancybox.showActivity = function() {
		clearInterval(H);
		u.show();
		H = setInterval($, 66)
	};
	b.fancybox.hideActivity = function() {
		u.hide()
	};
	b.fancybox.next = function() {
		return b.fancybox.pos(n + 1)
	};
	b.fancybox.prev = function() {
		return b.fancybox.pos(n - 1)
	};
	b.fancybox.pos = function(a) {
		if (!h) {
			a = parseInt(a, 10);
			if (a > -1 && j.length > a) {
				p = a;
				C()
			}
			if (c.cyclic && j.length > 1 && a < 0) {
				p = j.length - 1;
				C()
			}
			if (c.cyclic && j.length > 1 && a >= j.length) {
				p = 0;
				C()
			}
		}
	};
	b.fancybox.cancel = function() {
		if (!h) {
			h = true;
			b.event.trigger("fancybox-cancel");
			J();
			e && b.isFunction(e.onCancel) && e.onCancel(q, p, e);
			h = false
		}
	};
	b.fancybox.close = function() {
		function a() {
			x.fadeOut("fast");
			g.hide();
			b.event.trigger("fancybox-cleanup");
			i.empty();
			b.isFunction(c.onClosed) && c.onClosed(j, n, c);
			j = e = [];
			n = p = 0;
			c = e = {};
			h = false
		}
		if (!(h || g.is(":hidden"))) {
			h = true;
			if (c && b.isFunction(c.onCleanup)) if (c.onCleanup(j, n, c) === false) {
				h = false;
				return
			}
			J();
			b(z.add(A).add(B)).hide();
			b("#fancybox-title").remove();
			g.add(i).add(x).unbind();
			b(window).unbind("resize.fb scroll.fb");
			b(document).unbind("keydown.fb");
			i.css("overflow", "hidden");
			if (c.transitionOut == "elastic") {
				k = Q();
				var d = g.position();
				l = {
					top: d.top,
					left: d.left,
					width: g.width(),
					height: g.height()
				};
				if (c.opacity) l.opacity = 1;
				y.prop = 1;
				b(y).animate({
					prop: 0
				}, {
					duration: c.speedOut,
					easing: c.easingOut,
					step: M,
					complete: a
				})
			} else g.fadeOut(c.transitionOut == "none" ? 0 : c.speedOut, a)
		}
	};
	b.fancybox.resize = function() {
		var a, d;
		if (!(h || g.is(":hidden"))) {
			h = true;
			a = i.wrapInner("<div style='overflow:auto'></div>").children();
			d = a.height();
			g.css({
				height: d + c.padding * 2 + v
			});
			i.css({
				height: d
			});
			a.replaceWith(a.children());
			b.fancybox.center()
		}
	};
	b.fancybox.center = function() {
		h = true;
		var a = K(),
			d = c.margin,
			f = {};
		f.top = a[3] + (a[1] - (g.height() - v + 40)) * 0.5;
		f.left = a[2] + (a[0] - (g.width() + 40)) * 0.5;
		f.top = Math.max(a[3] + d, f.top);
		f.left = Math.max(a[2] + d, f.left);
		g.css(f);
		h = false
	};
	b.fn.fancybox.defaults = {
		padding: 10,
		margin: 20,
		opacity: false,
		modal: false,
		cyclic: false,
		scrolling: "auto",
		width: 560,
		height: 340,
		autoScale: true,
		autoDimensions: true,
		centerOnScroll: false,
		ajax: {},
		swf: {
			wmode: "transparent"
		},
		hideOnOverlayClick: true,
		hideOnContentClick: false,
		overlayShow: true,
		overlayOpacity: 0.3,
		overlayColor: "#666",
		titleShow: true,
		titlePosition: "outside",
		titleFormat: null,
		transitionIn: "fade",
		transitionOut: "fade",
		speedIn: 300,
		speedOut: 300,
		changeSpeed: 300,
		changeFade: "fast",
		easingIn: "swing",
		easingOut: "swing",
		showCloseButton: true,
		showNavArrows: true,
		enableEscapeButton: true,
		onStart: null,
		onCancel: null,
		onComplete: null,
		onCleanup: null,
		onClosed: null
	};
	b(document).ready(function() {
		aa()
	})
})(jQuery);